# Projekt: IFJ2011 - precedecni tabulka
# Resitele:
#
# Makefile

BIN=main
OBJ=main.o debug.o  ilist.o expr.o scanner.o parser.o interpret.o ial.o alloc.o
EXPORT=main.c debug.c debug.h
CC=gcc
DBGFLAGS?=-DNDEBUG -lm
CFLAGS=-std=c99 -pedantic -Wall -g -W -lm $(DBGFLAGS)

$(BIN): $(OBJ)
	$(CC) $(CFLAGS) -o $(BIN) $(OBJ)

main.o: main.c main.h parser.h token.h ial.h ilist.h debug.h alloc.h
	$(CC) $(CFLAGS) -c -o $@ main.c

debug.o: debug.c debug.h ilist.h ial.h token.h alloc.h
	$(CC) $(CFLAGS) -c -o $@ debug.c

ilist.o: ilist.c ilist.h ial.h alloc.h
	$(CC) $(CFLAGS) -c -o $@ ilist.c

parser.o: parser.c parser.h main.h scanner.h parser.h expr.h token.h ilist.h debug.h alloc.h
	$(CC) $(CFLAGS) -c -o $@ parser.c

expr.o: expr.c expr.h scanner.h token.h alloc.h
	$(CC) $(CFLAGS) -c -o $@ expr.c

interpret.o: interpret.c interpret.h alloc.h
	$(CC) $(CFLAGS) -c -o $@ interpret.c

ial.o: ial.c ial.h alloc.h
	$(CC) $(CFLAGS) -c -o $@ ial.c

alloc.o: alloc.c alloc.h
	$(CC) $(CFLAGS) -c -o $@ alloc.c
clean:
	rm -f $(BIN)
	rm -f $(OBJ)
	rm *~
